Recording-location determination

ABSTRACT

Tracking and multiple signal sources, such as cellular phone towers, 802.11 hotspots, Radio Data System (RDS) transmitters, or the like, and using one or more of these sources to determine a current position that can be associated with a recording, such as a digital camera photo or other digital recording, conventional camera photo, or other recording.

This application is a continuation of patent application Ser. No.10/090,943, filed Mar. 4, 2002 and entitled “RECORDING-LOCATIONDETERMINATION” now U.S. Pat. No. 6,710,740.

FIELD

The invention generally relates to annotating a recording, such as aphotograph, video, etc. with data indicating a location where recordingoccurred, and more particularly to tracking multiple different signalsources to facilitate determining the location when a primary locatingtechnique fails.

BACKGROUND

When taking a recording of a place or an event, it is often desirable toassociate a location, typically the location at which the recording ismade, with the recording so that one may later review the recording andbe reminded of where it occurred. Associating locations with recordingsis often a tedious prospect, especially when several different placesare visited and the recordings are not available for annotation untillater-on, such as returning from a trip. Often, due to tediousness, orpoor memory after the fact, associations are not performed at all.

There has been an attempt to facilitate making such associations withdigital camera photographs. Here, GPS (Global Positioning System) tracklog data is used to cross-reference a time at which a digital cameraindicates a photograph occurred photograph with timed entries in the GPStrack log, thus identifying where the photograph occurred. There aresignificant limitations to this approach, some of which are inherent toGPS systems.

For example, GPS systems take a long time to start up, thus initialpictures may occur with no GPS data available to indicate where thepicture occurred. Also, GPS systems require adequate reception from atleast four satellites in order to accurately determine spatial positionin three dimensions. Obtaining adequate signal from four satellites isoften difficult depending on the terrain through which one travels, asvarious conditions, such as physical obstructions, thick tree cover,tall buildings, etc., may cause a satellite to become obscured and thuspreclude obtaining GPS position data. Related to this is that when a GPSreceiver loses track of its satellites, the receiver may then eithergive out invalid position information, e.g., zero-values, or repeat lastknown valid position data, which may be quite wrong if one is travelingquickly. Such GPS data can result in wildly incorrect position databeing associated with pictures.

BRIEF DESCRIPTION OF THE DRAWINGS

The features and advantages of the present invention will becomeapparent from the following detailed description of the presentinvention in which:

FIG. 1 illustrates an exemplary environment, such as a terrain overwhich one is traveling and recording, e.g., taking pictures, recordingmovies, etc.;

FIG. 2 illustrates a general flowchart according to one embodiment ofthe invention for associating positioning data with a recording;

FIG. 3 illustrates a flowchart according to one embodiment of theinvention for the FIG. 2 monitoring and storing of signal sources;

FIG. 4 illustrates using characteristics of signal sources to reduce asearch area for a current position; and

FIG. 5 illustrates using a coverage map identifying signal sourcepositions to narrow the possible locations in which a recordingoccurred; and

FIG. 6 illustrates an exemplary environment in which certain aspects ofthe invention may be performed.

DETAILED DESCRIPTION

While traveling, it is assumed a primary positioning service, e.g., GPS,is used to determine a current location that may be associated with arecording, e.g., a picture, audio and/or visual recording, etc. However,the primary positioning service may, on occasion, temporarily orpermanently fail. Thus, while traveling, secondary signal sources aretracked so that they can be used to determine an approximate locationthat may be associated with the recording.

Note that the phrase “position data” is used herein to refer to GPStrack log data, coordinate data, or other data representing a positionin time/space. The term “location” refers to human-intelligible data,e.g., a street name, city, geographic reference, landmark, etc.corresponding to position data. The phrase “signal source” refers to anysignal which may be used to determine or facilitate determining acurrent location, including typical positioning services such as GPS,LORAN (Long Range Navigation), and other radionavigation systems. Thephrase “signal source” also includes other signals not intended to bepart of a positioning service, but nonetheless have characteristics,such as a determinable location for the signal source, that can be usedto facilitate determining a current location; exemplary sources includecellular phone towers, 802.11 hotspots, Radio Data System (RDS)transmitters, or the like.

It is assumed signal sources transmit at least an identifier for thesource. It will be appreciated that signal source may transmit otherdata as well, such as the physical location and/or position of thesignal source. If the signal source's physical location is not(conveniently) provided, it will be appreciated that coverage-maps maybe consulted to cross-reference signal sources with physical locations.This lookup may occur in (near) real time or be deferred until a latertime. Depending on the secondary signal sources available at any giventime, and information known or obtainable about the signal sources, acurrent position for a recording can be determined with varyingaccuracy.

FIG. 1 illustrates an exemplary environment 100, such as a terrain overwhich one is traveling and recording, e.g., taking pictures, recordingmovies, etc.

Illustrated is a travel path 102 that passes several transmission towers104, 106, 108. Assume that GPS data from GPS satellites 110, 112, 114,116 is primarily used to track one's position while traveling, but thatreception area 118 corresponds to reliable GPS reception, and receptionarea 120 corresponds to unreliable GPS reception. The illustrated travelpath 102 starts with reliable reception, and moves into unreliablereception. As will be discussed below, when in the unreliable receptionarea 120, the presence of other secondary signal sources, e.g.,transmission towers 104, 106, 108, may be used to determine one'slocation which may then be associated with a recording.

FIG. 2 illustrates a general flowchart according to one embodiment ofthe invention for associating a location with a recording.

Primary and secondary receivers, e.g., GPS, cellular, 802.11, etc. areinitialized 200 so that signal sources may be received while traveling202. While traveling 202, signal sources are monitored and stored 204,such as in a database, log, or other storage. In one embodiment,monitoring and storing 204 is performed with separate devices (see alsoFIG. 3). In another embodiment, a receive-only device comprisingmultiple embedded receivers for various different types of signalsources, is used to receive signals from various signal sources. In afurther embodiment, the receive-only device is incorporated within arecorder.

Parallel to monitoring signal sources, travel is recorded 206, e.g.,pictures taken, audio/visual data recorded, etc. In one embodiment, atest 208 is performed to determine whether to immediately attempt toassociate a current position with a recording, or to defer currentlocation identification for a later time, e.g., after travel iscomplete. The basis of the decision may rest on a number of factors,including resources required to determine a current location. It will beappreciated by one skilled in the art that associating data withrecordings may take various forms depending on the type of recordingdevice and data to be associated. For example, in one embodiment, adigital camera stores recordings in a Japan Electronic IndustryDevelopment Association (JEIDA) Exchangeable Image File (EXIF) fileformat, and position data is stored as picture metadata.

If no deferral is desired, a further test 210 is performed to determinewhether a primary signal source, e.g., a reliable source such as GPS orthe like, is available. If so, then a current position data isdetermined 212, e.g., a relevant portion of a GPS track log is obtained,and with this data, a current location is associated 214 with therecording, e.g., the current position data is looked up on a map orother resource to identify human-intelligible data.

If the test 210 indicates a primary signal source is not presentlyavailable, e.g., one is traveling in area 120 of FIG. 1, then in oneembodiment monitored and stored 204 signal sources are used to estimate216 current position data, and with this data, an estimated currentlocation is associated 218 with a recording. It will be appreciated thatvarious combination techniques and heuristics may be used to best-guesscurrent position data based on identified signal sources. For example,if a certain 802.11 hotspot was recorded, and the position or locationof that hotspot is known, e.g., because it transmitted its position orlocation, or it was looked up on a coverage map (see FIG. 5), then theposition or location of this hotspot can be used to approximatelyidentify the locations that occurred near in time to when the hotspotwas monitored 204. In one embodiment, characteristics of signal sourcescan be used to reduce a search area for a current position (see FIG. 4).

If the test 210 indicates determining a current position is not to bedeferred, then in one embodiment, the current time is determined andassociated 212 with the recording. Then, at a later time, GPS track logsand/or monitored and stored 204 signal sources may be used to identifywhere various recordings occurred.

FIG. 3 illustrates a flowchart according to one embodiment of theinvention for the FIG. 2 monitoring and storing 204 signal sources.

A test 300 is performed to determine whether a signal source isavailable. Assuming the signal source transmits a self-identifier, thisidentifier and the current time are stored 302, 304 in a memory. Thecurrent time is assumed to be obtained from a clock internal to thereceiver of the signal; the clock may be set with respect to an externalclock, such one provided by GPS.

In one embodiment, the signal source type is also stored 306. Thus, ifthe signal source does not provide a self-identifier, the type of signalmay be cross-referenced with a coverage map (see FIG. 5) of potentialsignal sources, time of receipt, last known valid position data, etc. toidentify a likely position for the signal source. In one embodiment, thesignal source strength is also stored 308 to allow for estimation ofdistance from the signal source, as well as to facilitate in positiontriangulation from multiple, and possibly different types of, signalsources.

As location identification becomes more important in this and othertechnology areas, signal sources may also directly broadcast theirphysical location; if the signal source provides a position identifier,it is also stored 310. After storing 302–310 data related to a signalsource, or if the test 300 indicated there is no available signalsource, then processing loops 312.

In one embodiment, mapping between signal sources and their physicallocation (stationary or moving) may be performed by an external service.One exemplary external service is a cellular telephone network thatprovides cellular towers, cellular phones, or other devices, withposition data. (It will be appreciated that location data may beprovided.) In one embodiment, also provided is an error estimate thatmay be used to account for inherent unreliability in positiondetermination, and/or to account for or predict positions for mobiledevices. Supplied position data, and error estimate, if available, maythen be used to determine a current location. It will be appreciated thecellular telephone network may utilize proprietary algorithms, such asproprietary triangulation techniques using signal strengths between adevice and cellular towers.

Another exemplary external service is a Local Area Network (LAN) managerfor computing devices that maps network addresses, e.g., InternetProtocol (IP) addresses into corresponding real-world positions, e.g.,network drop locations. As with the cellular telephone network, aproprietary technique may be used to determine real-world positions thatmay be used to determine a current location. For non-stationary networkaddresses, an error estimate may be provided with position data. In oneembodiment, external services may be provided with a date/time at whicha particular signal was received, and the external service provides(perhaps with an associated cost) a location estimate.

It will be appreciated that a general resolution service may be definedsuch that it operates with multiple external services where one providesthe general resolution service with the date/time for receiving aparticular signal, and the general resolution service attempts to locateone or more external services that can provide a location estimate forthe received signal. Multiple results may be used to sanity-check and/orrefine results. For example, assume a laptop computer is attached to aLAN of an outdoor cafe in Portland, Oreg. To determine the laptop'scurrent location, one can inspect positioning service data, such as GPSdata, if available, as well as query a general resolution service asdiscussed above, and determine a set of records such as:

-   -   1. 2002/02/25 15:21:45Z, LAN, 124.145.43.21, lat 45.3456N, Ion        122.34654W, alt 122 m, err 45 ft, “info supplied by the local        area network”    -   2. 2002/02/25 15:22:15Z, GPS, lat 45.3455N., Ion 122.34655W, alt        115 m, err 17 ft, “info supplied by the GPS satellite receiver        on the laptop”    -   3. 2002/02/25 15:20:05Z, FM RADIO, KBOO 90.7, lat 45.4897N, Ion        122.6964W, alt 900 ft, err 14 miles, “info supplied by the FM        radio receiver in the laptop”        Here it can be determined that a GPS receiver in the laptop is        providing the most reliable position data to be used to        determine a current location. However, were the GPS to be        non-functional, then the next best reliable data signal comes        from the information provided by the location area network to        which the laptop is attached. It will be appreciated that the        records may be determined in real time, such as through a live        GPS hookup indicated in the 2^(nd) record, or not in real time        as discussed above. If a recording, such as a photograph, were        to occur at the Portland café, then the GPS information would be        used to determine a location to be associated with the        recording.

FIG. 4 illustrates using characteristics of signal sources to reduce asearch area for a current position. For example, knowing a particulartype of signal source 400 only travels a certain distance, or only byline of sight, etc., can be used to determine an area 402 of possiblelocations at which the signal was received. If other signal sources wereidentified and stored 204 (FIG. 2), similar analysis can be performedfor other signal sources 404, so that a current position can be narroweddown to having to be within an overlapping area 406 common to bothsignal sources. Position data can be selected from this overlapping areaand used to determine an estimated current location to be associatedwith a recording. In one embodiment, estimated position data may becompared with last known reliable position data to ensure an identifiedoverlapping area “makes sense”.

FIG. 5 illustrates using database identifying signal source locations tonarrow the possible locations in which a recording occurred.

For example, as discussed above with FIG. 2, if it is known a particulartype of signal was received, a database 500 storing at least toweridentifiers 502 and their coordinates 504 can be inspected to identifypotential sources for that signal. For example, the illustrated databaseincludes entries 506, 510 for an 802.11 tower having coordinates 508 A,B, C, and an RDS tower having coordinates 512 D, E, F. Based on the typeof signal received, all other potential sources can be eliminated. Then,based on last known valid position data, and/or fundamental tripcharacteristics, such as planned areas to travel, the most likelysources for a received signal can be identified and used to estimatecurrent position data.

It will be appreciated that various embodiments of the inventiondisclosed above may be performed with various combinations of hardwareand/or software. For example, certain aspects of the invention may beimplemented with a machine 600 illustrated in FIG. 6.

The illustrated machine has a system bus 602, and typically attached tothe bus are one or more processors 604, a memory 606 (e.g., RAM, ROM),storage devices 608, e.g., hard-drives, floppy-disks, optical storage,magnetic cassettes, tapes, flash memory cards, memory sticks, digitalvideo disks, biological storage, etc., a video interface 610, andinput/output ports 612. The machine may also include embeddedcontrollers, such as Generic or Programmable Logic Devices or Arrays,Application Specific Integrated Circuits, single-chip computers, smartcards, or the like. The term “machine” includes a single machine, suchas a computer, handheld device, digital camera or other digitalrecording device, or a system of communicatively coupled machines ordevices

The machine may be controlled, at least in part, by input fromconventional input devices, such as keyboards, mice, joysticks, as wellas directives received from another machine, a user's interaction with avirtual reality (VR) environment, biometric feedback, or other input.The machine may operate in a network environment using physical and/orlogical connections to one or more remote machines 614, 616, such asthrough a wired or wireless network interface 618 or modem 620, andcommunicate over a network 622 such as an intranet, the Internet, localor wide area network, cellular, cable, optical, satellite, microwave,“Bluetooth,” laser, infrared, etc. It will be appreciated remotemachines 614, 616 may be configured similarly to the machine, andtherefore may include many or all of the same elements.

The invention may also be described by reference to or in conjunctionwith program modules, including functions, procedures, data structures,application programs, etc. for performing tasks, or defining abstractdata types or low-level hardware contexts. Program modules may be storedin memory 606 and/or storage devices 608 and associated storage media,and may be delivered over transmission environments, including thenetwork 622, in the form of packets, serial data, parallel data,propagated signals, etc. Program modules may be used in a compressed orencrypted format, and may be used in a distributed environment andstored in local and/or remote memory, for access by single andmulti-processor machines, portable computers, handheld devices, e.g.,Personal Digital Assistants (PDAs), cell phones, etc.

Thus, having described and illustrated the principles of the inventionwith reference to illustrated embodiments, it will be recognized thatthe illustrated embodiments can be modified in arrangement and detailwithout departing from such principles. And, though the foregoingdiscussion has focused on particular embodiments, other configurationsare contemplated. In particular, even though expressions such as “in oneembodiment,” “in another embodiment,” or the like are used herein, thesephrases are meant to generally reference embodiment possibilities, andare not intended to limit the invention to particular embodimentconfigurations. As used herein, these terms may reference the same ordifferent embodiments that are combinable into other embodiments.

Consequently, in view of the wide variety of permutations to theembodiments described herein, this detailed description is intended tobe illustrative only, and should not be taken as limiting the scope ofthe invention. What is claimed as the invention, therefore, is all suchmodifications as may come within the scope and spirit of the followingclaims and equivalents thereto.

1. A method for annotating a recording with a current locationcomprising: monitoring, while traveling, for different types of signalsources that may be used to facilitate determining a current location;identifying a first signal source at a first time; determining a currentlocation based at least in part on the first signal source; making arecording; and associating the current location with the recording. 2.The method of claim 1, further comprising: logging the first time andcharacteristics of the signal source; and associating the currentlocation after completing traveling.
 3. The method of claim 2, whereincharacteristics of the signal source include a signal source type, asignal source strength, a signal source position, and a signal sourcelocation.
 4. The method of claim 1, wherein determining the currentlocation is based at least in part on characteristics of the signalsource including a signal source type, a signal source strength, asignal source position, and a signal source location.
 5. The method ofclaim 1, wherein the current location has an associated margin of errordetermined with respect to the type of the first signal source.
 6. Themethod of claim 1, wherein said different types of signal sourcesinclude signals from GPS, LORAN, cellular phone towers, 802.11 hotspots,and Radio Data System (RDS) transmitters.
 7. The method of claim 1,further comprising: identifying a second signal source different fromthe first signal source; and determining the current location based inpart on the second signal source.
 8. The method of claim 1, comprising:determining a primary position determination device is not available. 9.The method of claim 8, wherein the primary position determination devicecomprises a GPS receiver.
 10. The method of claim 1, further comprising:looking up the first signal source on a coverage map to determine anorigin of the first signal source; and determining the current locationbased at least in part on the origin.
 11. An article of manufacture tofacilitate annotating a recording with a current location, comprising: amachine-accessible medium having associated data, wherein the data, whenaccessed, results in a machine performing: monitoring, while traveling,for different types of signal sources that may be used to facilitatedetermining a current location; identifying a first signal source at afirst time; determining a current location based at least in part on thefirst signal source; making a recording; and associating the currentlocation with the recording.
 12. The article of manufacture of claim 11,wherein the machine-accessible medium further includes data, whenaccessed, results in the machine performing: logging the first time andcharacteristics of the signal source; and associating the currentlocation after completing traveling.
 13. The article of manufacture ofclaim 12, wherein the data for logging characteristics of the signalsource comprises further data, when accessed, results in the machineperforming: identifying a signal source type, a signal source strength,a signal source position, and a signal source location.
 14. The articleof manufacture of claim 11, wherein the machine-accessible mediumfurther includes data, when accessed, results in the machine performing:identifying a second signal source different from the first signalsource; and determining the current location based in part on the secondsignal source.
 15. The article of manufacture of claim 11, wherein themachine-accessible medium further includes data, when accessed, resultsin the machine performing: determining a primary position determinationdevice is not available.
 16. The article of manufacture of claim 11,wherein the machine-accessible medium further includes data, whenaccessed, results in the machine performing: looking up the first signalsource on a coverage map to determine an origin of the first signalsource; and determining the current location based at least in part onthe origin.